home *** CD-ROM | disk | FTP | other *** search
- #include "wand_head.h"
-
- /* Uses seeded random xor to encrypt because setkey doesn't work on our
- system. */
-
- crypt_file(name)
- char *name;
- {
- char buffer[1024];
- int fd, length, loop;
-
- #ifdef TOS
- if ((fd = open(name,O_RDONLY)) < 0) {
- #else
- if ((fd = open(name,O_RDONLY)) == -1) {
- #endif
- endwin();
- sprintf(buffer,"Wanderer: cannot open %s",name);
- perror(buffer);
- exit(1);
- }
- if ((length = read(fd,buffer,1024)) < 1) {
- endwin();
- sprintf(buffer,"Wanderer: read error on %s",name);
- perror(buffer);
- exit(1);
- }
- close(fd);
-
- /* Right, got it in here, now to encrypt the stuff */
-
- addstr("Running crypt routine....\n");
- refresh();
-
- srand(BLURFL);
- for (loop = 0; loop < length; loop++)
- buffer[loop] ^= rand();
-
- #ifdef TOS
- if ((fd = open(name,O_WRONLY|O_TRUNC)) < 0) {
- #else
- if ((fd = open(name,O_WRONLY|O_TRUNC)) == -1) {
- #endif
- endwin();
- sprintf(buffer,"Wanderer: cannot write to %s",name);
- perror(buffer);
- exit(1);
- }
- if (write(fd,buffer,length) != length) {
- endwin();
- sprintf(buffer,"Wanderer: write error on %s",name);
- perror(buffer);
- exit(1);
- }
- close(fd);
-
- /* ok, file now contains encrypted/decrypted game. */
- /* lets go back home... */
- }
-